Dear dsPicProgrammer User,

This text file instructs you how to use dsPicProgrammer:

OVERVIEW
========
dsPicProgrammer is designed to download program to dsPic30 and dsPic33 target boards with ingenia-based 
bootloader (www.ingenia-cat.com). The key features of dsPicProgrammer is summarized below.
1. Can be used on both Linux and Windows platforms.
2. Adjustable baudrate (9600bps to 57600bps).
3. Support programming of dsPIC30F5011 and dsPIC33FJ128GP306 devices (Developers may add your devices).
4. Protection against overwriting bootloader codes on devices.
5. Detection if application program does not have its reset() at user's code start address.
6. Reprogramming can be done without powering down the target board, provided the user's program is compliant
   to that stated at http://www.opencircuits.com/DsPIC30F_5011_Development_Board#Communication_Protocol.
7. Target board will run the user's program after programming is done.

INSTALLATION
============
Install RXTX, downloadable from http://users.frii.com/jarvi/rxtx/download.html

For Windows User:
copy RXTXcomm.jar to \jre\lib\ext (under java)
copy rxtxSerial.dll to \jre\bin
run the command: java -jar dsPicProgrammer.jar COM1 19200 foo.hex

For Linux User:
copy RXTXcomm.jar to /jre/lib/ext (under java)
copy librxtxSerial.so to /jre/lib/[machine type] (i386 for instance)
run the command: java -jar dsPicProgrammer.jar /dev/ttyS0 19200 foo.hex

ADD NEW DEVICE
==============
To add a new device,
1) Create a new device specification (e.g. Pic30F6011.java) under 'device' package based on the PicModel class.
2) Add the device ID in PicDefinition.java.
3) Add the corresponding code in checkDeviceID() in PicProtocol.java

Enjoy!

Regards,
Dennis (dennis@amonics.com)